<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf8" />
<title>История создания</title>
</head>
<body><table width=800><tr><td>

<h3>История создания</h3>

<h4>Предварительный этап</h4>

<p align="justify">
Программа имеет уже достаточно длинную историю.
Началось все летом 2002 года, когда я увлекся скачиванием обоев для рабочего стола из интернета.
При этом мне пришлось столкнуться с проблемой наличия большого числа дублирующих и поврежденных картинок.
В начале я пытался очистить свою коллекцию вручную. 
Однако, при наличии более 10 тысяч изображений, это оказалось настолько трудной задачей, что я задумал как-то автоматизировать данный процесс.
В то время я учился в аспирантуре ИФ НАНБ, шли летние каникулы. 
Поэтому в виду наличия у меня свободного времени и желания (я как раз осваивал C++Builder), я решил самостоятельно создать соответствующую утилиту.
После пары месяцев работы появилась программа <b>BEJpegSearch</b> (Bad and Equal JPEG-files SEARCH), которую я затем использовал для собственных нужд на протяжении года. 
Одновременно проходила ее доводка до ума.
</p>

<h4>Серия AntiDupl-1.x</h4>

<p align="justify">
К осени 2003 года программа стабилизировалась, и у меня после ряда положительных отзывов от моих знакомых созрело решение выложить ее в интернете для всеобщего пользования. 
При этом мне пришлось поменять название на <b>AntiDupl</b>, так как старое было трудно произносимым и не запоминающимся. 
17.10.2003 вышла первая публичная версия - 1.15.
Далее серия с минимальными изменениями просуществовала до ноября 2005, когда вышла последняя версия с номером 1.17.
Все программы серии имели следующие ключевый особенности:
</p>

<ul>
 <li><p align="justify">
Поиск похожих и поврежденных JPEG-картинок в заданном каталоге.
 </p></li>
 <li><p align="justify">
Возможность автоматического удаления полностью идентичных и поврежденных картинок.
 </p></li>
 <li><p align="justify">
В основном поиск ведется в полуавтоматическом режиме - до первого нахождения дефектной либо дублирующей картинки. 
После чего поиск прерывается запросом для того, что бы пользователь мог выбрать дальнейшее действие программы.
 </p></li>
 <li><p align="justify">
Простой, и даже можно сказать минималистический, интерфейс.
 </p></li>
</ul>

<p align="justify">
Подробнее о ней можно почитать <a href="http://www.antidupl.sourceforge.net/russian/index.html?page=manual.html" target="_top">здесь</a>. 
Не смотря на ряд достоинств, программа обладала существенными недостатками:
</p>

<ul>
 <li><p align="justify">
Невозможность искать другие, отличные от JPEG, форматы изображений.
 </p></li>
 <li><p align="justify">
Полуавтоматический режим работы фактически полностью невелировал высокую скорость работы программы, и кроме того утомлял пользователей. 
 </p></li>
 <li><p align="justify">
Программа не учитывала при своей работе результаты предыдущих поисков. 
 </p></li>
 <li><p align="justify">
Было не возможно задавать более одного каталога поиска. 
 </p></li>
 <li><p align="justify">
Минималистический интерфейс нравился далеко не всем. 
 </p></li>
</ul>


<h4>Серия AntiDupl-2.x</h4>

<p align="justify">
Сразу после выхода AntiDupl-1.17 я стал работать над новой версией программы. 
В ней я надеялся решить многие из перечисленных выше проблем.
К тому моменту я уже достаточно долго занимался программированием, и мне хотелось переписать программу с учетом приобретенного опыта.
09.04.2006 через пять месяцев работы она была полностью завершена, и вышла под номером 2.0. 
Фактически программа была написана заново, положив основу новой 2-й серии. 
Здесь находится ее подробное <a href="http://www.antidupl.sourceforge.net/russian/index.html?page=manual2.html" target="_top">описание</a>.
Ниже приведены ключевые новшества этой серии:
</p>

<ul>
 <li><p align="justify">
Поддержка поиска изображений в форматах GIF, TIFF, BMP и PNG.
 </p></li>
 <li><p align="justify">
Улучшенный интерфейс.
 </p></li>
 <li><p align="justify">
Появились "горячие" клавиши.
 </p></li>
 <li><p align="justify">
Наличие html-справки.
 </p></li>
 <li><p align="justify">
Логирование основных этапов и результатов поиска.
 </p></li>
 <li><p align="justify">
Отложенные запросы (результаты поиска показываются после его окончания).
 </p></li>
 <li><p align="justify">
Возможность удаления обеих картинок, замещения одной картинки другой, просмотра изображения внешними средствами (начиная с версии 2.2).
 </p></li>
 <li>
База данных о неправильных срабатываниях программы (начиная с версии 2.4).
 </p></li>
</ul>

<p align="justify">
Не смотря на существенный прогресс второй версии по сравнению с первой, в ней оставались нерешенными многие из перечисленных выше проблем.
А другие были решены лишь частично, кроме того выяснились дополнительные недостатки.
С точки зрения пользователей основные из них были:
</p>

<ul>
 <li><p align="justify">
Неудобная обработка результатов поиска. Невозможно эти результаты сохранить.
 </p></li>
 <li><p align="justify">
Невозможно задавать более одного каталога поиска. Нет возможности сравнения отдельных файлов. 
 </p></li>
 <li><p align="justify">
Поиск каждый раз нужно проводить заново (не учитываются результаты прошлых поисков). 
 </p></li>
</ul>

<p align="justify">
Еще были недостатки с технической точки зрения:
</p>

<ul>
 <li><p align="justify">
1-я и 2-я версии были написаны на C++Builder, а данная система достаточно устаревшая. 
В ней, например, нет поддержки Unicode, и неизвестно когда будет.  
 </p></li>
 <li><p align="justify">
Программа однопоточная, что делает затруднительным использование возможностей современных процессоров.
 </p></li>
 <li><p align="justify">
Желательно разделение алгоритмической и интерфейсной части программы.
Это упростило бы создание новых версий. 
Кроме того позволило бы сторонним разработчикам использовать в своих проектах алгоритмы AntiDupl. 
 </p></li>
</ul>

<h4>Серия AntiDupl.NET-1.x</h4>

<p align="justify">
Решить выше указанные проблемы удалось только в рамках абсолютно новой программы, получившей название <b>AntiDupl.NET</b>.
Работы над ней начались в сентябре 2007 года. 
Но из-за большого объема работ, а также из-за сложившихся обстоятельств, процесс ее разработки неприлично затянулся почти на полтора года.
Тем не менее она наконец таки увидела свет...
</p>

</td></tr></table></body>
</html>
